home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / raytrace / radiance / simplerd.lha / simplerad / FinalFTP / Conv / Qmodel / MxMatrix.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-26  |  1.7 KB  |  43 lines

  1. /*
  2.  *    Program:    None
  3.  *    Module:        MxMatrix.h
  4.  *    Programmer:    John Buchanan
  5.  *
  6.  *    Description:
  7.  *            A variety of routines to handle matrices.
  8.  *    
  9.  */
  10. #define MX_STKLEN 200
  11.  
  12.  
  13. extern void MxCopy();        /* Copy a to b */
  14. extern void MxTranspose();    /* Transpose a to r */
  15. extern void MxIdentity();    /* Store the identity in a */
  16. extern void MxScalarMultiply();    /* multiply a by scalar s, put result in r */
  17. extern void MxVectorMultiply(); /* Multiply vector p by a into q */
  18. extern void MxNegate();        /* Negate a into r */
  19. extern void MxAdd();        /* Add a + b into r*/
  20. extern void MxTranslate();
  21. extern void MxScale();
  22. extern void MxRotateD();    /* create rotation matrix degrees*/
  23. extern void MxRotateR();    /* create rotation matrix radians */
  24. extern void MxSubstract();    /* substract b from a into r */
  25. extern void MxMultiply();    /* multiply a and b into r */
  26. extern void MxDivide();        /* multibly a by inverse of b into r*/
  27. extern void MxReverseDivide();  /* multiply inverse of a by b into r */
  28. extern int  MxStackInit();    /* Initialize the matrix stack */
  29. extern char *MxPush();        /* Push a matrix onto the stack */
  30. extern char *MxPop();        /* Pop a matrix from the stack */
  31. extern float MxTransform();    /* transform a by m into b */
  32. extern float MxInvert();    /* invert a into r return det(a) */
  33. extern float MxDeterminant();   /* return the determinant of (a) */
  34. extern void MxPrint();        /* print the matrix to stdout */
  35. extern void MxGet();        /* get the matrix row at a time */
  36. extern void VecCopy();    /* Copy vector p into q */
  37. extern float VecDot();    /* Return dot product of p and q */
  38. extern void VecSubstract();
  39. extern void VecAdd();
  40. extern void VecCross();
  41. extern void VecNormalize();
  42. extern float VecLength();
  43.